﻿/*
SINACOR - BMF&Bovespa
Arquivo: CodigoClienteInformado.cs
Criado em: 08-jun-2010 17:14:32
Arquiteto Responsável: p-wgeneroso
*/
using System;
using System.Collections.Generic;
using System.Text;
using Sinacor.Infra.Common.Validation;
using Sinacor.Infra.Common.Exceptions;
using Sinacor.Infra.Service.ExceptionHandling;
using Sinacor.Infra.Service.Validation;
using Sinacor.Infra.Service.Validation.BusinessRules;


namespace Sinacor.Servico.Bovespa.ManutencaoOrdens.BusinessLogic.BusinessRulesValidation 
{
	public class CodigoClienteInformado : BaseBusinessRuleValidation<BusinessEntity.Bloqueio>, IBusinessRuleValidation 
	{
		#region Atributos
        private int _erroClienteNaoInformado = 109749;
		#endregion

		#region Propriedades
		public int ErroClienteNaoInformado
		{
			get { return _erroClienteNaoInformado; }
			set { _erroClienteNaoInformado = value; }
		}
		#endregion

		#region Métodos
		public List<ValidationError> GetErrors()
		{
            return this.ErrorsList;
		}

		public void Validate()
		{
            //Valida Codigo Cliente Informado
            if (this.EntityToValidate.Cliente == null ||
                !this.EntityToValidate.Cliente.Codigo.HasValue ||
                this.EntityToValidate.Cliente.Codigo.Value == 0)
            {
                this.AddValidationError(ErroClienteNaoInformado);
            }
		}
		#endregion
	}

}